<?php
/*
 * Copyright 2011 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * The Buzz service implementation
 *
 * Generated by http://code.google.com/p/google-api-php-client/
 * Generated from: https://www.googleapis.com/discovery/v0.3/describe/buzz/v1
 **/
class Activity {
  public $actor;
  public $address;
  public $annotation;
  public $categories;
  public $crosspostSource;
  public $detectedlLang;
  public $geocode;
  public $id;
  public $kind;
  public $links;
  public $object;
  public $placeId;
  public $placeName;
  public $placeholder;
  public $published;
  public $radius;
  public $source;
  public $targetLang;
  public $title;
  public $untranslatedTitle;
  public $updated;
  public $verbs;
  public $visibility;
}

class ActivityVisibility {
  public $entries;
}

class ActivitySource {
  public $title;
}

class ActivityObject {
  public $actor;
  public $attachments;
  public $comments;
  public $content;
  public $detectedlLang;
  public $id;
  public $liked;
  public $links;
  public $originalContent;
  public $shareOriginal;
  public $targetLang;
  public $type;
  public $untranslatedContent;
}

class ActivityObjectActor {
  public $id;
  public $name;
  public $profileUrl;
  public $thumbnailUrl;
}

class ActivityLinks {
  public $liked;
}

class ActivityActor {
  public $id;
  public $name;
  public $profileUrl;
  public $thumbnailUrl;
}

class ActivityFeed {
  public $id;
  public $items;
  public $kind;
  public $links;
  public $title;
  public $updated;
}

class Album {
  public $created;
  public $description;
  public $firstPhotoId;
  public $id;
  public $kind;
  public $lastModified;
  public $links;
  public $owner;
  public $tags;
  public $title;
  public $version;
}

class AlbumOwner {
  public $id;
  public $name;
  public $profileUrl;
  public $thumbnailUrl;
}

class AlbumLinks {
  public $alternate;
  public $enclosure;
}

class AlbumLite {
  public $collection;
  public $kind;
}

class AlbumLiteCollection {
  public $album;
  public $albumId;
  public $photo;
}

class AlbumLiteCollectionPhoto {
  public $photoUrl;
}

class AlbumsFeed {
  public $items;
  public $kind;
}

class ChiliPhotosResourceJson {
  public $album;
  public $created;
  public $description;
  public $fileSize;
  public $id;
  public $kind;
  public $lastModified;
  public $links;
  public $owner;
  public $timestamp;
  public $title;
  public $version;
  public $video;
}

class ChiliPhotosResourceJsonOwner {
  public $id;
  public $name;
  public $profileUrl;
  public $thumbnailUrl;
}

class ChiliPhotosResourceJsonLinks {
  public $alternate;
}

class ChiliPhotosResourceJsonAlbum {
  public $id;
  public $page_link;
}

class Comment {
  public $actor;
  public $content;
  public $detectedLang;
  public $id;
  public $kind;
  public $links;
  public $originalContent;
  public $placeholder;
  public $published;
  public $targetLang;
  public $untranslatedContent;
  public $updated;
}

class CommentLinks {
  public $inReplyTo;
}

class CommentActor {
  public $id;
  public $name;
  public $profileUrl;
  public $thumbnailUrl;
}

class CommentFeed {
  public $id;
  public $items;
  public $kind;
  public $links;
  public $title;
  public $updated;
}

class CountFeed {
  public $counts;
  public $kind;
}

class Group {
  public $id;
  public $kind;
  public $links;
  public $memberCount;
  public $title;
}

class GroupLinks {
  public $self;
}

class GroupFeed {
  public $items;
  public $kind;
  public $links;
}

class Link {
  public $count;
  public $height;
  public $href;
  public $title;
  public $type;
  public $updated;
  public $width;
}

class PeopleFeed {
  public $entry;
  public $itemsPerPage;
  public $kind;
  public $startIndex;
  public $totalResults;
}

class Person {
  public $aboutMe;
  public $accounts;
  public $activities;
  public $addresses;
  public $anniversary;
  public $birthday;
  public $bodyType;
  public $books;
  public $cars;
  public $children;
  public $connected;
  public $currentLocation;
  public $displayName;
  public $drinker;
  public $emails;
  public $ethnicity;
  public $fashion;
  public $food;
  public $gender;
  public $happiestWhen;
  public $hasApp;
  public $heroes;
  public $humor;
  public $id;
  public $ims;
  public $interests;
  public $jobInterests;
  public $kind;
  public $languages;
  public $languagesSpoken;
  public $livingArrangement;
  public $lookingFor;
  public $movies;
  public $music;
  public $name;
  public $nickname;
  public $note;
  public $organizations;
  public $pets;
  public $phoneNumbers;
  public $photos;
  public $politicalViews;
  public $preferredUsername;
  public $profileSong;
  public $profileUrl;
  public $profileVideo;
  public $published;
  public $quotes;
  public $relationshipStatus;
  public $relationships;
  public $religion;
  public $romance;
  public $scaredOf;
  public $sexualOrientation;
  public $smoker;
  public $sports;
  public $status;
  public $tags;
  public $thumbnailUrl;
  public $turnOffs;
  public $turnOns;
  public $tvShows;
  public $updated;
  public $urls;
  public $utcOffset;
}

class PersonName {
  public $familyName;
  public $formatted;
  public $givenName;
  public $honorificPrefix;
  public $honorificSuffix;
  public $middleName;
}

class PhotosFeed {
  public $items;
  public $kind;
}

class Related {
  public $href;
  public $id;
  public $kind;
  public $summary;
  public $title;
}

class RelatedFeed {
  public $id;
  public $items;
  public $kind;
  public $links;
  public $title;
  public $updated;
}

class Video {
  public $duration;
  public $size;
  public $status;
  public $streams;
}

class apiBuzzService {

  // Variables that the apiServiceResource implementation depends on
  private $serviceName = 'buzz';
  private $version = 'v1';
  private $restBasePath = '/buzz/v1/';
  private $rpcPath = '/rpc';
  private $io;
  // apiServiceResource's that are used internally
  private $activities;
  private $comments;
  private $groups;
  private $people;
  private $photoAlbums;
  private $photos;
  private $related;

  /**
   * Constructs the internal service representations and does the auto-magic configuration required to drive them
   */
  public function __construct(apiClient $apiClient) {
    $apiClient->addService('buzz', 'v1');
    $this->io = $apiClient->getIo();
    $this->activities = new apiServiceResource($this, $this->serviceName, 'activities', json_decode('{"methods":{"count":{"restPath":"activities\/count","rpcMethod":"chili.activities.count","httpMethod":"GET","description":"Get a count of link shares","parameters":{"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"url":{"restParameterType":"query","repeated":true,"description":"URLs for which to get share counts.","type":"string"}},"response":{"$ref":"CountFeed"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz","https:\/\/www.googleapis.com\/auth\/buzz.readonly"]},"delete":{"restPath":"activities\/{userId}\/{scope}\/{postId}","rpcMethod":"chili.activities.delete","httpMethod":"DELETE","description":"Delete an activity","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"postId":{"restParameterType":"path","required":true,"description":"ID of the activity to delete.","type":"string"},"scope":{"restParameterType":"path","required":true,"description":"The collection to which the activity belongs.","type":"string","enum":["@liked","@muted","@self"],"enumDescriptions":["Activities liked by the user.","Activities muted by the user.","Activities posted by the user."]},"userId":{"restParameterType":"path","required":true,"description":"ID of the user whose post to delete.","type":"string"}},"parameterOrder":["userId","scope","postId"],"scopes":["https:\/\/www.googleapis.com\/auth\/buzz"]},"extractPeopleFromSearch":{"restPath":"activities\/search\/@people","rpcMethod":"chili.activities.extractPeopleFromSearch","httpMethod":"GET","description":"Search for people by topic","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"bbox":{"restParameterType":"query","description":"Bounding box to use in a geographic location query.","type":"string"},"c":{"restParameterType":"query","description":"A continuation token that allows pagination.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"lat":{"restParameterType":"query","description":"Latitude to use in a geographic location query.","type":"string"},"lon":{"restParameterType":"query","description":"Longitude to use in a geographic location query.","type":"string"},"max-results":{"restParameterType":"query","description":"Maximum number of results to include.","type":"integer","minimum":"0","maximum":"4294967295","default":"20"},"pid":{"restParameterType":"query","description":"ID of a place to use in a geographic location query.","type":"string"},"q":{"restParameterType":"query","description":"Full-text search query string.","type":"string"},"radius":{"restParameterType":"query","description":"Radius to use in a geographic location query.","type":"string"}},"response":{"$ref":"PeopleFeed"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz","https:\/\/www.googleapis.com\/auth\/buzz.readonly"]},"get":{"restPath":"activities\/{userId}\/@self\/{postId}","rpcMethod":"chili.activities.get","httpMethod":"GET","description":"Get an activity","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"max-comments":{"restParameterType":"query","description":"Maximum number of comments to include.","type":"integer","minimum":"0","maximum":"4294967295","default":"0"},"max-liked":{"restParameterType":"query","description":"Maximum number of likes to include.","type":"integer","minimum":"0","maximum":"4294967295","default":"0"},"postId":{"restParameterType":"path","required":true,"description":"ID of the post to get.","type":"string"},"truncateAtom":{"restParameterType":"query","description":"Truncate the value of the atom:content element.","type":"boolean"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user whose post to get.","type":"string"}},"parameterOrder":["userId","postId"],"response":{"$ref":"Activity"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz","https:\/\/www.googleapis.com\/auth\/buzz.readonly"]},"insert":{"restPath":"activities\/{userId}\/@self","rpcMethod":"chili.activities.insert","httpMethod":"POST","description":"Create a new activity","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"preview":{"restParameterType":"query","description":"If true, only preview the action.","type":"boolean","default":"false"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId"],"request":{"$ref":"Activity"},"response":{"$ref":"Activity"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz"]},"list":{"restPath":"activities\/{userId}\/{scope}","rpcMethod":"chili.activities.list","httpMethod":"GET","description":"List activities","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"c":{"restParameterType":"query","description":"A continuation token that allows pagination.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"max-comments":{"restParameterType":"query","description":"Maximum number of comments to include.","type":"integer","minimum":"0","maximum":"4294967295","default":"0"},"max-liked":{"restParameterType":"query","description":"Maximum number of likes to include.","type":"integer","minimum":"0","maximum":"4294967295","default":"0"},"max-results":{"restParameterType":"query","description":"Maximum number of results to include.","type":"integer","minimum":"0","maximum":"4294967295","default":"20"},"scope":{"restParameterType":"path","required":true,"description":"The collection of activities to list.","type":"string","enum":["@comments","@consumption","@liked","@public","@self"],"enumDescriptions":["Limit to activities commented on by the user.","Limit to activities to be consumed by the user.","Limit to activities liked by the user.","Limit to public activities posted by the user.","Limit to activities posted by the user."]},"truncateAtom":{"restParameterType":"query","description":"Truncate the value of the atom:content element.","type":"boolean"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","scope"],"response":{"$ref":"ActivityFeed"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz","https:\/\/www.googleapis.com\/auth\/buzz.readonly"]},"search":{"restPath":"activities\/search","rpcMethod":"chili.activities.search","httpMethod":"GET","description":"Search for activities","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"bbox":{"restParameterType":"query","description":"Bounding box to use in a geographic location query.","type":"string"},"c":{"restParameterType":"query","description":"A continuation token that allows pagination.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"lat":{"restParameterType":"query","description":"Latitude to use in a geographic location query.","type":"string"},"lon":{"restParameterType":"query","description":"Longitude to use in a geographic location query.","type":"string"},"max-results":{"restParameterType":"query","description":"Maximum number of results to include.","type":"integer","minimum":"0","maximum":"4294967295","default":"20"},"pid":{"restParameterType":"query","description":"ID of a place to use in a geographic location query.","type":"string"},"q":{"restParameterType":"query","description":"Full-text search query string.","type":"string"},"radius":{"restParameterType":"query","description":"Radius to use in a geographic location query.","type":"string"},"truncateAtom":{"restParameterType":"query","description":"Truncate the value of the atom:content element.","type":"boolean"}},"response":{"$ref":"ActivityFeed"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz","https:\/\/www.googleapis.com\/auth\/buzz.readonly"]},"track":{"restPath":"activities\/track","rpcMethod":"chili.activities.track","httpMethod":"GET","description":"Get real-time activity tracking information","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"bbox":{"restParameterType":"query","description":"Bounding box to use in a geographic location query.","type":"string"},"c":{"restParameterType":"query","description":"A continuation token that allows pagination.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"lat":{"restParameterType":"query","description":"Latitude to use in a geographic location query.","type":"string"},"lon":{"restParameterType":"query","description":"Longitude to use in a geographic location query.","type":"string"},"max-results":{"restParameterType":"query","description":"Maximum number of results to include.","type":"integer","minimum":"0","maximum":"4294967295","default":"20"},"pid":{"restParameterType":"query","description":"ID of a place to use in a geographic location query.","type":"string"},"q":{"restParameterType":"query","description":"Full-text search query string.","type":"string"},"radius":{"restParameterType":"query","description":"Radius to use in a geographic location query.","type":"string"}},"response":{"$ref":"ActivityFeed"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz","https:\/\/www.googleapis.com\/auth\/buzz.readonly"]},"update":{"restPath":"activities\/{userId}\/{scope}\/{postId}","rpcMethod":"chili.activities.update","httpMethod":"PUT","description":"Update an activity","parameters":{"abuseType":{"restParameterType":"query","type":"string"},"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"postId":{"restParameterType":"path","required":true,"description":"ID of the activity to update.","type":"string"},"scope":{"restParameterType":"path","required":true,"description":"The collection to which the activity belongs.","type":"string","enum":["@abuse","@liked","@muted","@self"],"enumDescriptions":["Activities reported by the user.","Activities liked by the user.","Activities muted by the user.","Activities posted by the user."]},"userId":{"restParameterType":"path","required":true,"description":"ID of the user whose post to update.","type":"string"}},"parameterOrder":["userId","scope","postId"],"request":{"$ref":"Activity"},"response":{"$ref":"Activity"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz"]}}}', true));
    $this->comments = new apiServiceResource($this, $this->serviceName, 'comments', json_decode('{"methods":{"delete":{"restPath":"activities\/{userId}\/@self\/{postId}\/@comments\/{commentId}","rpcMethod":"chili.comments.delete","httpMethod":"DELETE","description":"Delete a comment","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"commentId":{"restParameterType":"path","required":true,"description":"ID of the comment being referenced.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"postId":{"restParameterType":"path","required":true,"description":"ID of the activity for which to delete the comment.","type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","postId","commentId"],"scopes":["https:\/\/www.googleapis.com\/auth\/buzz"]},"get":{"restPath":"activities\/{userId}\/@self\/{postId}\/@comments\/{commentId}","rpcMethod":"chili.comments.get","httpMethod":"GET","description":"Get a comment","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"commentId":{"restParameterType":"path","required":true,"description":"ID of the comment being referenced.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"postId":{"restParameterType":"path","required":true,"description":"ID of the activity for which to get comments.","type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","postId","commentId"],"response":{"$ref":"Comment"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz","https:\/\/www.googleapis.com\/auth\/buzz.readonly"]},"insert":{"restPath":"activities\/{userId}\/@self\/{postId}\/@comments","rpcMethod":"chili.comments.insert","httpMethod":"POST","description":"Create a comment","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"postId":{"restParameterType":"path","required":true,"description":"ID of the activity on which to comment.","type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user on whose behalf to comment.","type":"string"}},"parameterOrder":["userId","postId"],"request":{"$ref":"Comment"},"response":{"$ref":"Comment"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz"]},"list":{"restPath":"activities\/{userId}\/{scope}\/{postId}\/@comments","rpcMethod":"chili.comments.list","httpMethod":"GET","description":"List comments","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"c":{"restParameterType":"query","description":"A continuation token that allows pagination.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"max-results":{"restParameterType":"query","description":"Maximum number of results to include.","type":"integer","minimum":"0","maximum":"4294967295","default":"20"},"postId":{"restParameterType":"path","required":true,"description":"ID of the activity for which to get comments.","type":"string"},"scope":{"restParameterType":"path","required":true,"description":"The collection to which the activity belongs.","type":"string","enum":["@self"],"enumDescriptions":["Activities posted by the user."]},"userId":{"restParameterType":"path","required":true,"description":"ID of the user for whose post to get comments.","type":"string"}},"parameterOrder":["userId","scope","postId"],"response":{"$ref":"CommentFeed"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz","https:\/\/www.googleapis.com\/auth\/buzz.readonly"]},"update":{"restPath":"activities\/{userId}\/{scope}\/{postId}\/@comments\/{commentId}","rpcMethod":"chili.comments.update","httpMethod":"PUT","description":"Update a comment","parameters":{"abuseType":{"restParameterType":"query","type":"string"},"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"commentId":{"restParameterType":"path","required":true,"description":"ID of the comment being referenced.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"postId":{"restParameterType":"path","required":true,"description":"ID of the activity for which to update the comment.","type":"string"},"scope":{"restParameterType":"path","required":true,"description":"The collection to which the activity belongs.","type":"string","enum":["@abuse","@self"],"enumDescriptions":["Comments reported by the user.","Comments posted by the user."]},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","scope","postId","commentId"],"request":{"$ref":"Comment"},"response":{"$ref":"Comment"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz"]}}}', true));
    $this->groups = new apiServiceResource($this, $this->serviceName, 'groups', json_decode('{"methods":{"delete":{"restPath":"people\/{userId}\/@groups\/{groupId}","rpcMethod":"chili.groups.delete","httpMethod":"DELETE","description":"Delete a group","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"groupId":{"restParameterType":"path","required":true,"description":"ID of the group to delete.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","groupId"],"scopes":["https:\/\/www.googleapis.com\/auth\/buzz"]},"get":{"restPath":"people\/{userId}\/@groups\/{groupId}\/@self","rpcMethod":"chili.groups.get","httpMethod":"GET","description":"Get a group","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"groupId":{"restParameterType":"path","required":true,"description":"ID of the group to get.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","groupId"],"response":{"$ref":"Group"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz","https:\/\/www.googleapis.com\/auth\/buzz.readonly"]},"insert":{"restPath":"people\/{userId}\/@groups","rpcMethod":"chili.groups.insert","httpMethod":"POST","description":"Create a group","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId"],"request":{"$ref":"Group"},"response":{"$ref":"Group"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz"]},"list":{"restPath":"people\/{userId}\/@groups","rpcMethod":"chili.groups.list","httpMethod":"GET","description":"Get a user\'s groups","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"c":{"restParameterType":"query","description":"A continuation token that allows pagination.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"max-results":{"restParameterType":"query","description":"Maximum number of results to include.","type":"integer","minimum":"0","maximum":"4294967295","default":"20"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId"],"response":{"$ref":"GroupFeed"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz","https:\/\/www.googleapis.com\/auth\/buzz.readonly"]},"update":{"restPath":"people\/{userId}\/@groups\/{groupId}\/@self","rpcMethod":"chili.groups.update","httpMethod":"PUT","description":"Update a group","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"groupId":{"restParameterType":"path","required":true,"description":"ID of the group to update.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","groupId"],"request":{"$ref":"Group"},"response":{"$ref":"Group"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz"]}}}', true));
    $this->people = new apiServiceResource($this, $this->serviceName, 'people', json_decode('{"methods":{"delete":{"restPath":"people\/{userId}\/@groups\/{groupId}\/{personId}","rpcMethod":"chili.people.delete","httpMethod":"DELETE","description":"Remove a person from a group","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"groupId":{"restParameterType":"path","required":true,"description":"ID of the group from which to remove the person.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"personId":{"restParameterType":"path","required":true,"description":"ID of the person to remove from the group.","type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the owner of the group.","type":"string"}},"parameterOrder":["userId","groupId","personId"],"scopes":["https:\/\/www.googleapis.com\/auth\/buzz"]},"get":{"restPath":"people\/{userId}\/@self","rpcMethod":"chili.people.get","httpMethod":"GET","description":"Get a user profile","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId"],"response":{"$ref":"Person"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz","https:\/\/www.googleapis.com\/auth\/buzz.readonly"]},"liked":{"restPath":"activities\/{userId}\/{scope}\/{postId}\/{groupId}","rpcMethod":"chili.people.liked","httpMethod":"GET","description":"Get people who liked an activity","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"c":{"restParameterType":"query","description":"A continuation token that allows pagination.","type":"string"},"groupId":{"restParameterType":"path","required":true,"type":"string","enum":["@liked"],"enumDescriptions":["People who liked this activity."]},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"max-results":{"restParameterType":"query","description":"Maximum number of results to include.","type":"integer","minimum":"0","maximum":"4294967295","default":"20"},"postId":{"restParameterType":"path","required":true,"description":"ID of the activity that was liked.","type":"string"},"scope":{"restParameterType":"path","required":true,"type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","scope","postId","groupId"],"response":{"$ref":"PeopleFeed"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz","https:\/\/www.googleapis.com\/auth\/buzz.readonly"]},"list":{"restPath":"people\/{userId}\/@groups\/{groupId}","rpcMethod":"chili.people.list","httpMethod":"GET","description":"Get people in a group","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"c":{"restParameterType":"query","description":"A continuation token that allows pagination.","type":"string"},"groupId":{"restParameterType":"path","required":true,"description":"ID of the group for which to list users.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"max-results":{"restParameterType":"query","description":"Maximum number of results to include.","type":"integer","minimum":"0","maximum":"4294967295","default":"20"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","groupId"],"response":{"$ref":"PeopleFeed"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz","https:\/\/www.googleapis.com\/auth\/buzz.readonly"]},"reshared":{"restPath":"activities\/{userId}\/{scope}\/{postId}\/{groupId}","rpcMethod":"chili.people.reshared","httpMethod":"GET","description":"Get people who reshared an activity","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"c":{"restParameterType":"query","description":"A continuation token that allows pagination.","type":"string"},"groupId":{"restParameterType":"path","required":true,"type":"string","enum":["@reshared"],"enumDescriptions":["People who reshared this activity."]},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"max-results":{"restParameterType":"query","description":"Maximum number of results to include.","type":"integer","minimum":"0","maximum":"4294967295","default":"20"},"postId":{"restParameterType":"path","required":true,"description":"ID of the activity that was reshared.","type":"string"},"scope":{"restParameterType":"path","required":true,"type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","scope","postId","groupId"],"response":{"$ref":"PeopleFeed"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz","https:\/\/www.googleapis.com\/auth\/buzz.readonly"]},"search":{"restPath":"people\/search","rpcMethod":"chili.people.search","httpMethod":"GET","description":"Search for people","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"c":{"restParameterType":"query","description":"A continuation token that allows pagination.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"max-results":{"restParameterType":"query","description":"Maximum number of results to include.","type":"integer","minimum":"0","maximum":"4294967295","default":"20"},"q":{"restParameterType":"query","description":"Full-text search query string.","type":"string"}},"response":{"$ref":"PeopleFeed"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz","https:\/\/www.googleapis.com\/auth\/buzz.readonly"]},"update":{"restPath":"people\/{userId}\/@groups\/{groupId}\/{personId}","rpcMethod":"chili.people.update","httpMethod":"PUT","description":"Add a person to a group","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"groupId":{"restParameterType":"path","required":true,"description":"ID of the group to which to add the person.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"personId":{"restParameterType":"path","required":true,"description":"ID of the person to add to the group.","type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the owner of the group.","type":"string"}},"parameterOrder":["userId","groupId","personId"],"request":{"$ref":"Person"},"response":{"$ref":"Person"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz"]}}}', true));
    $this->photoAlbums = new apiServiceResource($this, $this->serviceName, 'photoAlbums', json_decode('{"methods":{"delete":{"restPath":"photos\/{userId}\/@self\/{albumId}","rpcMethod":"chili.photoAlbums.delete","httpMethod":"DELETE","description":"Delete a photo album","parameters":{"albumId":{"restParameterType":"path","required":true,"description":"ID of the album to delete.","type":"string"},"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","albumId"],"scopes":["https:\/\/www.googleapis.com\/auth\/picasa"]},"get":{"restPath":"photos\/{userId}\/@self\/{albumId}","rpcMethod":"chili.photoAlbums.get","httpMethod":"GET","description":"Get a photo album","parameters":{"albumId":{"restParameterType":"path","required":true,"description":"ID of the album to get.","type":"string"},"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","albumId"],"response":{"$ref":"Album"},"scopes":["https:\/\/www.googleapis.com\/auth\/picasa"]},"insert":{"restPath":"photos\/{userId}\/@self","rpcMethod":"chili.photoAlbums.insert","httpMethod":"POST","description":"Create a photo album","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId"],"request":{"$ref":"Album"},"response":{"$ref":"Album"},"scopes":["https:\/\/www.googleapis.com\/auth\/picasa"]},"list":{"restPath":"photos\/{userId}\/{scope}","rpcMethod":"chili.photoAlbums.list","httpMethod":"GET","description":"List a user\'s photo albums","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"c":{"restParameterType":"query","description":"A continuation token that allows pagination.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"max-results":{"restParameterType":"query","description":"Maximum number of results to include.","type":"integer","minimum":"0","maximum":"4294967295","default":"20"},"scope":{"restParameterType":"path","required":true,"description":"The collection of albums to list.","type":"string","enum":["@self"],"enumDescriptions":["Albums posted by the user."]},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","scope"],"response":{"$ref":"AlbumsFeed"},"scopes":["https:\/\/www.googleapis.com\/auth\/picasa"]}}}', true));
    $this->photos = new apiServiceResource($this, $this->serviceName, 'photos', json_decode('{"methods":{"delete":{"restPath":"photos\/{userId}\/@self\/{albumId}\/@photos\/{photoId}","rpcMethod":"chili.photos.delete","httpMethod":"DELETE","description":"Delete a photo","parameters":{"albumId":{"restParameterType":"path","required":true,"description":"ID of the album to which to photo belongs.","type":"string"},"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"photoId":{"restParameterType":"path","required":true,"description":"ID of the photo to delete.","type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","albumId","photoId"],"scopes":["https:\/\/www.googleapis.com\/auth\/picasa"]},"get":{"restPath":"photos\/{userId}\/@self\/{albumId}\/@photos\/{photoId}","rpcMethod":"chili.photos.get","httpMethod":"GET","description":"Get photo metadata","parameters":{"albumId":{"restParameterType":"path","required":true,"description":"ID of the album containing the photo.","type":"string"},"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"photoId":{"restParameterType":"path","required":true,"description":"ID of the photo for which to get metadata.","type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","albumId","photoId"],"response":{"$ref":"ChiliPhotosResourceJson"},"scopes":["https:\/\/www.googleapis.com\/auth\/picasa"]},"insert":{"restPath":"photos\/{userId}\/{albumId}","rpcMethod":"chili.photos.insert","httpMethod":"POST","description":"Upload a photo to an album","parameters":{"albumId":{"restParameterType":"path","required":true,"description":"ID of the album to which to upload.","type":"string"},"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","albumId"],"request":{"$ref":"AlbumLite"},"response":{"$ref":"AlbumLite"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz"]},"insert2":{"restPath":"photos\/{userId}\/@self\/{albumId}\/@photos","rpcMethod":"chili.photos.insert2","httpMethod":"POST","description":"Upload a photo to an album","parameters":{"albumId":{"restParameterType":"path","required":true,"description":"ID of the album to which to upload.","type":"string"},"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","albumId"],"request":{"$ref":"ChiliPhotosResourceJson"},"response":{"$ref":"ChiliPhotosResourceJson"},"scopes":["https:\/\/www.googleapis.com\/auth\/picasa"]},"listByAlbum":{"restPath":"photos\/{userId}\/@self\/{albumId}\/@photos","rpcMethod":"chili.photos.listByAlbum","httpMethod":"GET","description":"List photos in an album","parameters":{"albumId":{"restParameterType":"path","required":true,"description":"ID of the album for which to list photos.","type":"string"},"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"c":{"restParameterType":"query","description":"A continuation token that allows pagination.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"max-results":{"restParameterType":"query","description":"Maximum number of results to include.","type":"integer","minimum":"0","maximum":"4294967295","default":"20"},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","albumId"],"response":{"$ref":"PhotosFeed"},"scopes":["https:\/\/www.googleapis.com\/auth\/picasa"]},"listByScope":{"restPath":"photos\/{userId}\/@self\/{scope}\/@photos","rpcMethod":"chili.photos.listByScope","httpMethod":"GET","description":"Get a user\'s photos","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"c":{"restParameterType":"query","description":"A continuation token that allows pagination.","type":"string"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"max-results":{"restParameterType":"query","description":"Maximum number of results to include.","type":"integer","minimum":"0","maximum":"4294967295","default":"20"},"scope":{"restParameterType":"path","required":true,"description":"The collection of photos to list.","type":"string","enum":["@recent"],"enumDescriptions":["Recent photos uploaded by the user."]},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","scope"],"response":{"$ref":"PhotosFeed"},"scopes":["https:\/\/www.googleapis.com\/auth\/picasa"]}}}', true));
    $this->related = new apiServiceResource($this, $this->serviceName, 'related', json_decode('{"methods":{"list":{"restPath":"activities\/{userId}\/{scope}\/{postId}\/@related","rpcMethod":"chili.related.list","httpMethod":"GET","description":"Get related links for an activity","parameters":{"alt":{"restParameterType":"query","description":"Specifies an alternative representation type.","type":"string","enum":["atom","json"],"enumDescriptions":["Use Atom XML format","Use JSON format"],"default":"atom"},"hl":{"restParameterType":"query","description":"Language code to limit language results.","type":"string"},"postId":{"restParameterType":"path","required":true,"description":"ID of the activity to which to get related links.","type":"string"},"scope":{"restParameterType":"path","required":true,"description":"The collection to which the activity belongs.","type":"string","enum":["@self"],"enumDescriptions":["Activities posted by the user."]},"userId":{"restParameterType":"path","required":true,"description":"ID of the user being referenced.","type":"string"}},"parameterOrder":["userId","scope","postId"],"response":{"$ref":"RelatedFeed"},"scopes":["https:\/\/www.googleapis.com\/auth\/buzz","https:\/\/www.googleapis.com\/auth\/buzz.readonly"]}}}', true));
  }

  /**
   * Get a count of link shares
   *
   * @param $hl   string Language code to limit language results.
   * @param $url   string URLs for which to get share counts.
   */
  public function countActivities($hl = null,
        $url = null) {
    return $this->activities->__call('count', array(array('hl' => $hl,
        'url' => $url)));
  }

  /**
   * Delete an activity
   *
   * @param $postId   string ID of the activity to delete.
   * @param $scope   string The collection to which the activity belongs., valid values are:
   *                 @liked : Activities liked by the user.
   *                 @muted : Activities muted by the user.
   *                 @self : Activities posted by the user.
   * @param $userId   string ID of the user whose post to delete.
   * @param $hl   string Language code to limit language results.
   */
  public function deleteActivities($postId,
        $scope,
        $userId,
        $hl = null) {
    return $this->activities->__call('delete', array(array('postId' => $postId,
        'scope' => $scope,
        'userId' => $userId,
        'hl' => $hl)));
  }

  /**
   * Search for people by topic
   *
   * @param $bbox   string Bounding box to use in a geographic location query.
   * @param $c   string A continuation token that allows pagination.
   * @param $hl   string Language code to limit language results.
   * @param $lat   string Latitude to use in a geographic location query.
   * @param $lon   string Longitude to use in a geographic location query.
   * @param $max_results   integer Maximum number of results to include.
   * @param $pid   string ID of a place to use in a geographic location query.
   * @param $q   string Full-text search query string.
   * @param $radius   string Radius to use in a geographic location query.
   */
  public function extractPeopleFromSearchActivities($bbox = null,
        $c = null,
        $hl = null,
        $lat = null,
        $lon = null,
        $max_results = null,
        $pid = null,
        $q = null,
        $radius = null) {
    return $this->activities->__call('extractPeopleFromSearch', array(array('bbox' => $bbox,
        'c' => $c,
        'hl' => $hl,
        'lat' => $lat,
        'lon' => $lon,
        'max-results' => $max_results,
        'pid' => $pid,
        'q' => $q,
        'radius' => $radius)));
  }

  /**
   * Get an activity
   *
   * @param $postId   string ID of the post to get.
   * @param $userId   string ID of the user whose post to get.
   * @param $hl   string Language code to limit language results.
   * @param $max_comments   integer Maximum number of comments to include.
   * @param $max_liked   integer Maximum number of likes to include.
   * @param $truncateAtom   boolean Truncate the value of the atom:content element.
   */
  public function getActivities($postId,
        $userId,
        $hl = null,
        $max_comments = null,
        $max_liked = null,
        $truncateAtom = null) {
    return $this->activities->__call('get', array(array('postId' => $postId,
        'userId' => $userId,
        'hl' => $hl,
        'max-comments' => $max_comments,
        'max-liked' => $max_liked,
        'truncateAtom' => $truncateAtom)));
  }

  /**
   * Create a new activity
   *
   * @param $userId   string ID of the user being referenced.
   * @param $postBody 
   * @param $hl   string Language code to limit language results.
   * @param $preview   boolean If true, only preview the action.
   */
  public function insertActivities($userId,
        $postBody,
        $hl = null,
        $preview = null) {
    return $this->activities->__call('insert', array(array('userId' => $userId,
        'postBody' => $postBody,
        'hl' => $hl,
        'preview' => $preview)));
  }

  /**
   * List activities
   *
   * @param $scope   string The collection of activities to list., valid values are:
   *                 @comments : Limit to activities commented on by the user.
   *                 @consumption : Limit to activities to be consumed by the user.
   *                 @liked : Limit to activities liked by the user.
   *                 @public : Limit to public activities posted by the user.
   *                 @self : Limit to activities posted by the user.
   * @param $userId   string ID of the user being referenced.
   * @param $c   string A continuation token that allows pagination.
   * @param $hl   string Language code to limit language results.
   * @param $max_comments   integer Maximum number of comments to include.
   * @param $max_liked   integer Maximum number of likes to include.
   * @param $max_results   integer Maximum number of results to include.
   * @param $truncateAtom   boolean Truncate the value of the atom:content element.
   */
  public function listActivities($scope,
        $userId,
        $c = null,
        $hl = null,
        $max_comments = null,
        $max_liked = null,
        $max_results = null,
        $truncateAtom = null) {
    return $this->activities->__call('list', array(array('scope' => $scope,
        'userId' => $userId,
        'c' => $c,
        'hl' => $hl,
        'max-comments' => $max_comments,
        'max-liked' => $max_liked,
        'max-results' => $max_results,
        'truncateAtom' => $truncateAtom)));
  }

  /**
   * Search for activities
   *
   * @param $bbox   string Bounding box to use in a geographic location query.
   * @param $c   string A continuation token that allows pagination.
   * @param $hl   string Language code to limit language results.
   * @param $lat   string Latitude to use in a geographic location query.
   * @param $lon   string Longitude to use in a geographic location query.
   * @param $max_results   integer Maximum number of results to include.
   * @param $pid   string ID of a place to use in a geographic location query.
   * @param $q   string Full-text search query string.
   * @param $radius   string Radius to use in a geographic location query.
   * @param $truncateAtom   boolean Truncate the value of the atom:content element.
   */
  public function searchActivities($bbox = null,
        $c = null,
        $hl = null,
        $lat = null,
        $lon = null,
        $max_results = null,
        $pid = null,
        $q = null,
        $radius = null,
        $truncateAtom = null) {
    return $this->activities->__call('search', array(array('bbox' => $bbox,
        'c' => $c,
        'hl' => $hl,
        'lat' => $lat,
        'lon' => $lon,
        'max-results' => $max_results,
        'pid' => $pid,
        'q' => $q,
        'radius' => $radius,
        'truncateAtom' => $truncateAtom)));
  }

  /**
   * Get real-time activity tracking information
   *
   * @param $bbox   string Bounding box to use in a geographic location query.
   * @param $c   string A continuation token that allows pagination.
   * @param $hl   string Language code to limit language results.
   * @param $lat   string Latitude to use in a geographic location query.
   * @param $lon   string Longitude to use in a geographic location query.
   * @param $max_results   integer Maximum number of results to include.
   * @param $pid   string ID of a place to use in a geographic location query.
   * @param $q   string Full-text search query string.
   * @param $radius   string Radius to use in a geographic location query.
   */
  public function trackActivities($bbox = null,
        $c = null,
        $hl = null,
        $lat = null,
        $lon = null,
        $max_results = null,
        $pid = null,
        $q = null,
        $radius = null) {
    return $this->activities->__call('track', array(array('bbox' => $bbox,
        'c' => $c,
        'hl' => $hl,
        'lat' => $lat,
        'lon' => $lon,
        'max-results' => $max_results,
        'pid' => $pid,
        'q' => $q,
        'radius' => $radius)));
  }

  /**
   * Update an activity
   *
   * @param $postId   string ID of the activity to update.
   * @param $scope   string The collection to which the activity belongs., valid values are:
   *                 @abuse : Activities reported by the user.
   *                 @liked : Activities liked by the user.
   *                 @muted : Activities muted by the user.
   *                 @self : Activities posted by the user.
   * @param $userId   string ID of the user whose post to update.
   * @param $postBody 
   * @param $abuseType   string 
   * @param $hl   string Language code to limit language results.
   */
  public function updateActivities($postId,
        $scope,
        $userId,
        $postBody,
        $abuseType = null,
        $hl = null) {
    return $this->activities->__call('update', array(array('postId' => $postId,
        'scope' => $scope,
        'userId' => $userId,
        'postBody' => $postBody,
        'abuseType' => $abuseType,
        'hl' => $hl)));
  }

  /**
   * Delete a comment
   *
   * @param $commentId   string ID of the comment being referenced.
   * @param $postId   string ID of the activity for which to delete the comment.
   * @param $userId   string ID of the user being referenced.
   * @param $hl   string Language code to limit language results.
   */
  public function deleteComments($commentId,
        $postId,
        $userId,
        $hl = null) {
    return $this->comments->__call('delete', array(array('commentId' => $commentId,
        'postId' => $postId,
        'userId' => $userId,
        'hl' => $hl)));
  }

  /**
   * Get a comment
   *
   * @param $commentId   string ID of the comment being referenced.
   * @param $postId   string ID of the activity for which to get comments.
   * @param $userId   string ID of the user being referenced.
   * @param $hl   string Language code to limit language results.
   */
  public function getComments($commentId,
        $postId,
        $userId,
        $hl = null) {
    return $this->comments->__call('get', array(array('commentId' => $commentId,
        'postId' => $postId,
        'userId' => $userId,
        'hl' => $hl)));
  }

  /**
   * Create a comment
   *
   * @param $postId   string ID of the activity on which to comment.
   * @param $userId   string ID of the user on whose behalf to comment.
   * @param $postBody 
   * @param $hl   string Language code to limit language results.
   */
  public function insertComments($postId,
        $userId,
        $postBody,
        $hl = null) {
    return $this->comments->__call('insert', array(array('postId' => $postId,
        'userId' => $userId,
        'postBody' => $postBody,
        'hl' => $hl)));
  }

  /**
   * List comments
   *
   * @param $postId   string ID of the activity for which to get comments.
   * @param $scope   string The collection to which the activity belongs., valid values are:
   *                 @self : Activities posted by the user.
   * @param $userId   string ID of the user for whose post to get comments.
   * @param $c   string A continuation token that allows pagination.
   * @param $hl   string Language code to limit language results.
   * @param $max_results   integer Maximum number of results to include.
   */
  public function listComments($postId,
        $scope,
        $userId,
        $c = null,
        $hl = null,
        $max_results = null) {
    return $this->comments->__call('list', array(array('postId' => $postId,
        'scope' => $scope,
        'userId' => $userId,
        'c' => $c,
        'hl' => $hl,
        'max-results' => $max_results)));
  }

  /**
   * Update a comment
   *
   * @param $commentId   string ID of the comment being referenced.
   * @param $postId   string ID of the activity for which to update the comment.
   * @param $scope   string The collection to which the activity belongs., valid values are:
   *                 @abuse : Comments reported by the user.
   *                 @self : Comments posted by the user.
   * @param $userId   string ID of the user being referenced.
   * @param $postBody 
   * @param $abuseType   string 
   * @param $hl   string Language code to limit language results.
   */
  public function updateComments($commentId,
        $postId,
        $scope,
        $userId,
        $postBody,
        $abuseType = null,
        $hl = null) {
    return $this->comments->__call('update', array(array('commentId' => $commentId,
        'postId' => $postId,
        'scope' => $scope,
        'userId' => $userId,
        'postBody' => $postBody,
        'abuseType' => $abuseType,
        'hl' => $hl)));
  }

  /**
   * Delete a group
   *
   * @param $groupId   string ID of the group to delete.
   * @param $userId   string ID of the user being referenced.
   * @param $hl   string Language code to limit language results.
   */
  public function deleteGroups($groupId,
        $userId,
        $hl = null) {
    return $this->groups->__call('delete', array(array('groupId' => $groupId,
        'userId' => $userId,
        'hl' => $hl)));
  }

  /**
   * Get a group
   *
   * @param $groupId   string ID of the group to get.
   * @param $userId   string ID of the user being referenced.
   * @param $hl   string Language code to limit language results.
   */
  public function getGroups($groupId,
        $userId,
        $hl = null) {
    return $this->groups->__call('get', array(array('groupId' => $groupId,
        'userId' => $userId,
        'hl' => $hl)));
  }

  /**
   * Create a group
   *
   * @param $userId   string ID of the user being referenced.
   * @param $postBody 
   * @param $hl   string Language code to limit language results.
   */
  public function insertGroups($userId,
        $postBody,
        $hl = null) {
    return $this->groups->__call('insert', array(array('userId' => $userId,
        'postBody' => $postBody,
        'hl' => $hl)));
  }

  /**
   * Get a user's groups
   *
   * @param $userId   string ID of the user being referenced.
   * @param $c   string A continuation token that allows pagination.
   * @param $hl   string Language code to limit language results.
   * @param $max_results   integer Maximum number of results to include.
   */
  public function listGroups($userId,
        $c = null,
        $hl = null,
        $max_results = null) {
    return $this->groups->__call('list', array(array('userId' => $userId,
        'c' => $c,
        'hl' => $hl,
        'max-results' => $max_results)));
  }

  /**
   * Update a group
   *
   * @param $groupId   string ID of the group to update.
   * @param $userId   string ID of the user being referenced.
   * @param $postBody 
   * @param $hl   string Language code to limit language results.
   */
  public function updateGroups($groupId,
        $userId,
        $postBody,
        $hl = null) {
    return $this->groups->__call('update', array(array('groupId' => $groupId,
        'userId' => $userId,
        'postBody' => $postBody,
        'hl' => $hl)));
  }

  /**
   * Remove a person from a group
   *
   * @param $groupId   string ID of the group from which to remove the person.
   * @param $personId   string ID of the person to remove from the group.
   * @param $userId   string ID of the owner of the group.
   * @param $hl   string Language code to limit language results.
   */
  public function deletePeople($groupId,
        $personId,
        $userId,
        $hl = null) {
    return $this->people->__call('delete', array(array('groupId' => $groupId,
        'personId' => $personId,
        'userId' => $userId,
        'hl' => $hl)));
  }

  /**
   * Get a user profile
   *
   * @param $userId   string ID of the user being referenced.
   * @param $hl   string Language code to limit language results.
   */
  public function getPeople($userId,
        $hl = null) {
    return $this->people->__call('get', array(array('userId' => $userId,
        'hl' => $hl)));
  }

  /**
   * Get people who liked an activity
   *
   * @param $groupId   string , valid values are:
   *                 @liked : People who liked this activity.
   * @param $postId   string ID of the activity that was liked.
   * @param $scope   string 
   * @param $userId   string ID of the user being referenced.
   * @param $c   string A continuation token that allows pagination.
   * @param $hl   string Language code to limit language results.
   * @param $max_results   integer Maximum number of results to include.
   */
  public function likedPeople($groupId,
        $postId,
        $scope,
        $userId,
        $c = null,
        $hl = null,
        $max_results = null) {
    return $this->people->__call('liked', array(array('groupId' => $groupId,
        'postId' => $postId,
        'scope' => $scope,
        'userId' => $userId,
        'c' => $c,
        'hl' => $hl,
        'max-results' => $max_results)));
  }

  /**
   * Get people in a group
   *
   * @param $groupId   string ID of the group for which to list users.
   * @param $userId   string ID of the user being referenced.
   * @param $c   string A continuation token that allows pagination.
   * @param $hl   string Language code to limit language results.
   * @param $max_results   integer Maximum number of results to include.
   */
  public function listPeople($groupId,
        $userId,
        $c = null,
        $hl = null,
        $max_results = null) {
    return $this->people->__call('list', array(array('groupId' => $groupId,
        'userId' => $userId,
        'c' => $c,
        'hl' => $hl,
        'max-results' => $max_results)));
  }

  /**
   * Get people who reshared an activity
   *
   * @param $groupId   string , valid values are:
   *                 @reshared : People who reshared this activity.
   * @param $postId   string ID of the activity that was reshared.
   * @param $scope   string 
   * @param $userId   string ID of the user being referenced.
   * @param $c   string A continuation token that allows pagination.
   * @param $hl   string Language code to limit language results.
   * @param $max_results   integer Maximum number of results to include.
   */
  public function resharedPeople($groupId,
        $postId,
        $scope,
        $userId,
        $c = null,
        $hl = null,
        $max_results = null) {
    return $this->people->__call('reshared', array(array('groupId' => $groupId,
        'postId' => $postId,
        'scope' => $scope,
        'userId' => $userId,
        'c' => $c,
        'hl' => $hl,
        'max-results' => $max_results)));
  }

  /**
   * Search for people
   *
   * @param $c   string A continuation token that allows pagination.
   * @param $hl   string Language code to limit language results.
   * @param $max_results   integer Maximum number of results to include.
   * @param $q   string Full-text search query string.
   */
  public function searchPeople($c = null,
        $hl = null,
        $max_results = null,
        $q = null) {
    return $this->people->__call('search', array(array('c' => $c,
        'hl' => $hl,
        'max-results' => $max_results,
        'q' => $q)));
  }

  /**
   * Add a person to a group
   *
   * @param $groupId   string ID of the group to which to add the person.
   * @param $personId   string ID of the person to add to the group.
   * @param $userId   string ID of the owner of the group.
   * @param $postBody 
   * @param $hl   string Language code to limit language results.
   */
  public function updatePeople($groupId,
        $personId,
        $userId,
        $postBody,
        $hl = null) {
    return $this->people->__call('update', array(array('groupId' => $groupId,
        'personId' => $personId,
        'userId' => $userId,
        'postBody' => $postBody,
        'hl' => $hl)));
  }

  /**
   * Delete a photo album
   *
   * @param $albumId   string ID of the album to delete.
   * @param $userId   string ID of the user being referenced.
   * @param $hl   string Language code to limit language results.
   */
  public function deletePhotoAlbums($albumId,
        $userId,
        $hl = null) {
    return $this->photoAlbums->__call('delete', array(array('albumId' => $albumId,
        'userId' => $userId,
        'hl' => $hl)));
  }

  /**
   * Get a photo album
   *
   * @param $albumId   string ID of the album to get.
   * @param $userId   string ID of the user being referenced.
   * @param $hl   string Language code to limit language results.
   */
  public function getPhotoAlbums($albumId,
        $userId,
        $hl = null) {
    return $this->photoAlbums->__call('get', array(array('albumId' => $albumId,
        'userId' => $userId,
        'hl' => $hl)));
  }

  /**
   * Create a photo album
   *
   * @param $userId   string ID of the user being referenced.
   * @param $postBody 
   * @param $hl   string Language code to limit language results.
   */
  public function insertPhotoAlbums($userId,
        $postBody,
        $hl = null) {
    return $this->photoAlbums->__call('insert', array(array('userId' => $userId,
        'postBody' => $postBody,
        'hl' => $hl)));
  }

  /**
   * List a user's photo albums
   *
   * @param $scope   string The collection of albums to list., valid values are:
   *                 @self : Albums posted by the user.
   * @param $userId   string ID of the user being referenced.
   * @param $c   string A continuation token that allows pagination.
   * @param $hl   string Language code to limit language results.
   * @param $max_results   integer Maximum number of results to include.
   */
  public function listPhotoAlbums($scope,
        $userId,
        $c = null,
        $hl = null,
        $max_results = null) {
    return $this->photoAlbums->__call('list', array(array('scope' => $scope,
        'userId' => $userId,
        'c' => $c,
        'hl' => $hl,
        'max-results' => $max_results)));
  }

  /**
   * Delete a photo
   *
   * @param $albumId   string ID of the album to which to photo belongs.
   * @param $photoId   string ID of the photo to delete.
   * @param $userId   string ID of the user being referenced.
   * @param $hl   string Language code to limit language results.
   */
  public function deletePhotos($albumId,
        $photoId,
        $userId,
        $hl = null) {
    return $this->photos->__call('delete', array(array('albumId' => $albumId,
        'photoId' => $photoId,
        'userId' => $userId,
        'hl' => $hl)));
  }

  /**
   * Get photo metadata
   *
   * @param $albumId   string ID of the album containing the photo.
   * @param $photoId   string ID of the photo for which to get metadata.
   * @param $userId   string ID of the user being referenced.
   * @param $hl   string Language code to limit language results.
   */
  public function getPhotos($albumId,
        $photoId,
        $userId,
        $hl = null) {
    return $this->photos->__call('get', array(array('albumId' => $albumId,
        'photoId' => $photoId,
        'userId' => $userId,
        'hl' => $hl)));
  }

  /**
   * Upload a photo to an album
   *
   * @param $albumId   string ID of the album to which to upload.
   * @param $userId   string ID of the user being referenced.
   * @param $postBody 
   * @param $hl   string Language code to limit language results.
   */
  public function insertPhotos($albumId,
        $userId,
        $postBody,
        $hl = null) {
    return $this->photos->__call('insert', array(array('albumId' => $albumId,
        'userId' => $userId,
        'postBody' => $postBody,
        'hl' => $hl)));
  }

  /**
   * Upload a photo to an album
   *
   * @param $albumId   string ID of the album to which to upload.
   * @param $userId   string ID of the user being referenced.
   * @param $postBody 
   * @param $hl   string Language code to limit language results.
   */
  public function insert2Photos($albumId,
        $userId,
        $postBody,
        $hl = null) {
    return $this->photos->__call('insert2', array(array('albumId' => $albumId,
        'userId' => $userId,
        'postBody' => $postBody,
        'hl' => $hl)));
  }

  /**
   * List photos in an album
   *
   * @param $albumId   string ID of the album for which to list photos.
   * @param $userId   string ID of the user being referenced.
   * @param $c   string A continuation token that allows pagination.
   * @param $hl   string Language code to limit language results.
   * @param $max_results   integer Maximum number of results to include.
   */
  public function listByAlbumPhotos($albumId,
        $userId,
        $c = null,
        $hl = null,
        $max_results = null) {
    return $this->photos->__call('listByAlbum', array(array('albumId' => $albumId,
        'userId' => $userId,
        'c' => $c,
        'hl' => $hl,
        'max-results' => $max_results)));
  }

  /**
   * Get a user's photos
   *
   * @param $scope   string The collection of photos to list., valid values are:
   *                 @recent : Recent photos uploaded by the user.
   * @param $userId   string ID of the user being referenced.
   * @param $c   string A continuation token that allows pagination.
   * @param $hl   string Language code to limit language results.
   * @param $max_results   integer Maximum number of results to include.
   */
  public function listByScopePhotos($scope,
        $userId,
        $c = null,
        $hl = null,
        $max_results = null) {
    return $this->photos->__call('listByScope', array(array('scope' => $scope,
        'userId' => $userId,
        'c' => $c,
        'hl' => $hl,
        'max-results' => $max_results)));
  }

  /**
   * Get related links for an activity
   *
   * @param $postId   string ID of the activity to which to get related links.
   * @param $scope   string The collection to which the activity belongs., valid values are:
   *                 @self : Activities posted by the user.
   * @param $userId   string ID of the user being referenced.
   * @param $hl   string Language code to limit language results.
   */
  public function listRelated($postId,
        $scope,
        $userId,
        $hl = null) {
    return $this->related->__call('list', array(array('postId' => $postId,
        'scope' => $scope,
        'userId' => $userId,
        'hl' => $hl)));
  }

  /**
   * @return the $io
   */
  public function getIo() {
    return $this->io;
  }

  /**
   * @return the $version
   */
  public function getVersion() {
    return $this->version;
  }

  /**
   * @return the $restBasePath
   */
  public function getRestBasePath() {
    return $this->restBasePath;
  }

  /**
   * @return the $rpcPath
   */
  public function getRpcPath() {
    return $this->rpcPath;
  }
}

